package com.ruoyi.order.mapper;

import com.ruoyi.order.domain.OrderGift;
import com.ruoyi.order.domain.OrderGift;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 礼物订单表 数据层
 * 
 * @author ruoyi
 */
public interface OrderGiftMapper
{
    /**
     * 根据条件分页查询礼物订单列表
     * 
     * @param orderGift 礼物订单信息
     * @return 礼物订单信息集合信息
     */
    public List<OrderGift> selectOrderGiftList(OrderGift orderGift);

    /**
     * 通过礼物订单号查询礼物订单
     * 
     * @param orderNo 礼物订单号
     * @return 礼物订单对象信息
     */
    public OrderGift selectOrderGiftByOrderNo(String orderNo);

    /**
     * 查询礼物订单总数汇总 - 条数
     *
     * @param orderGift 礼物订单信息
     * @return 礼物订单对象信息
     */
    public int selectOrderGiftCountTotal(OrderGift orderGift);

    /**
     * 查询礼物订单每日新增总数 - 条数
     *
     * @param orderGift 礼物订单信息
     * @return 礼物订单对象信息
     */
    public List<Map<String, Object>> selectOrderGiftCountDaily(OrderGift orderGift);

    /**
     * 查询礼物订单总数汇总 - 金额
     *
     * @param orderGift 礼物订单信息
     * @return 礼物订单对象信息
     */
    public BigDecimal selectOrderGiftAmountTotal(OrderGift orderGift);

    /**
     * 查询礼物订单每日新增总数 - 金额
     *
     * @param orderGift 礼物订单信息
     * @return 礼物订单对象信息
     */
    public List<Map<String, Object>> selectOrderGiftAmountDaily(OrderGift orderGift);

    /**
     * 新增礼物订单信息
     * 
     * @param orderGift 礼物订单信息
     * @return 结果
     */
    public int insertOrderGift(OrderGift orderGift);

    /**
     * 修改礼物订单信息
     * 
     * @param orderGift 礼物订单信息
     * @return 结果
     */
    public int updateOrderGift(OrderGift orderGift);

    /**
     * 通过礼物订单号删除礼物订单
     * 
     * @param orderNo 礼物订单号
     * @return 结果
     */
    public int deleteOrderGiftByOrderNo(String orderNo);

    /**
     * 批量删除礼物订单信息
     * 
     * @param orderNos 需要删除的礼物订单号
     * @return 结果
     */
    public int deleteOrderGiftByOrderNos(String[] orderNos);
}
